// index.js
// 获取应用实例
const app = getApp()

Page({

	/**
	 * 页面的初始数据
	 */
	data: {
		navBarHeight: 0, // 导航栏高度
		menuRight: 0, // 胶囊距右方间距（方保持左、右间距一致）
		menuTop: 0, // 胶囊距顶部间距
		menuHeight: 0, // 胶囊高度（自定义内容可与胶囊高度保证一致）
		screenWidth: "", //屏幕宽度
		lineLeft: 0, //指示线具体位置
		lineTop: 0,
		show: false,
		navInfo: {},
		city: '未知',
		banner1: [],
		banner2: [],
		newProductlist: [],
		productlist: []
	},

	/**
	 * 生命周期函数--监听页面加载
	 */
	onLoad: function (options) {
		let navInfo = wx.getMenuButtonBoundingClientRect()
		//计算位置
		const menuButtonInfo = wx.getMenuButtonBoundingClientRect();
		const systemInfo = wx.getSystemInfoSync();
		console.log(menuButtonInfo, systemInfo);
		this.setData({
		  navBarHeight: systemInfo.statusBarHeight + 44,
		  menuRight: systemInfo.screenWidth - menuButtonInfo.right,
		  menuTop: menuButtonInfo.top,
		  menuHeight: menuButtonInfo.height,
		  screenWidth: systemInfo.screenWidth,
		  lineLeft: systemInfo.screenWidth * 0.66 - menuButtonInfo.width * 0.9, //0.34是线的宽度除于750 1-0.36=0.66
		  lineTop: menuButtonInfo.height + menuButtonInfo.top + 10
		})
	
		this.setData({
			navInfo
		})
		this.getBanner()
		this.getProductlist(2)
		this.getProductlist(1)
		this.getLocation()
	},
	// 弹出添加到桌面提示
	onMyMent() {
		console.log(1123);
		this.setData({
		  show: true
		})
	  },
	  // 关闭添加到桌面提示
	  onClickHide() {
		this.setData({
		  show: false
		})
	  },
	/**
	 * 获取轮播图
	 */
	getBanner() {
		wx.http.get(wx.api.banner).then(res => {
			this.setData({
				banner1: res.data.banner1.map(t => Object.assign(t, {
					pic_url: `${wx.api.host}/${t.pic_url}`
				})),
				banner2: res.data.banner2.map(t => Object.assign(t, {
					pic_url: `${wx.api.host}/${t.pic_url}`
				}))
			})
		})
	},
	/**
	 * 新品轮播图
	 * @type 商品类型
	 */
	getProductlist(type) {
		let limit = 0,
			key = ''
		if (type === 1) {
			limit = 4
			key = 'productlist'
		}
		if (type === 2) {
			limit = 3
			key = 'newProductlist'
		}
		wx.http.get(wx.api.productlist, {
			show: type,
			sort_type: 1,
			sort: 1,
			page: 1,
			limit,
			is_page: 2
		}).then(res => {
			let list = res.data.map(t => Object.assign(t, {
				imageurl: `${wx.api.host}/${t.imageurl}`
			}))
			this.setData({
				[key]: list
			})
		})
	},
	/**
	 * 获取定位
	 */
	getLocation() {
		wx.getFuzzyLocation({
			type: 'gcj02',
			success: res => {
				let {
					latitude,
					longitude
				} = res
				wx.setStorageSync('latlon', {
					lat: latitude,
					lon: longitude
				})
				wx.http.post(wx.api.maprequest, {
					lon: longitude, // 经度
					lat: latitude, // 纬度
				}).then(res => {
					const {
						address_component,
						location
					} = res.data
					this.setData({
						city: address_component.city,
						lat: location.lat,
						lon: location.lng
					})
				})
			},
			fail: err => {
				console.error("[GM]：", err);
			}
		})
	},

	/**
	 * 选择地址
	 */
	onAddress() {
		const {
			lat: latitude,
			lon: longitude
		} = this.data
		wx.chooseLocation({
			latitude,
			longitude
		}).then(res => {
			const {
				latitude,
				longitude
			} = res
			return wx.http.post(wx.api.maprequest, {
				lon: longitude, // 经度
				lat: latitude, // 纬度
			})
		}).then(res => {
			const {
				address_component,
				location
			} = res.data
			wx.setStorageSync('latlon', {
				lat: location.lat,
				lon: location.lng
			})
			this.setData({
				city: address_component.city,
				lat: location.lat,
				lon: location.lng
			})
		})
	},
	/**
	 * 生命周期函数--监听页面初次渲染完成
	 */
	onReady: function () {

	},

	/**
	 * 生命周期函数--监听页面显示
	 */
	onShow: function () {

	},

	/**
	 * 生命周期函数--监听页面隐藏
	 */
	onHide: function () {

	},

	/**
	 * 生命周期函数--监听页面卸载
	 */
	onUnload: function () {

	},

	/**
	 * 页面相关事件处理函数--监听用户下拉动作
	 */
	onPullDownRefresh: function () {

	},

	/**
	 * 页面上拉触底事件的处理函数
	 */
	onReachBottom: function () {

	},

	/**
	 * 用户点击右上角分享
	 */
	onShareAppMessage: function () {

	}
})